<?php

/**
 * juez actions.
 *
 * @package    g2t
 * @subpackage juez
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class juezActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
  {
    return $this->renderText("
        <script type='text/javascript' src='../js/juez/ventanaContrasenia.js'></script>
            <script type='text/javascript' src='../js/juez/panelesCrud.js'></script>
            <script type='text/javascript' src='../js/juez/live_search_grid.js'></script>");
  }
  
 
  
  public function executeRegistrar(sfWebRequest $request)
  {
      
      $archivos=$request->getFiles();
       
      
       $archivo=$archivos['rutaFotoJuez'];
      $fotoValida= $this->validarImagenFoto($archivo);
       
       if(!$fotoValida) 
       {
            sfConfig::set('sf_web_debug', false);
            $this->renderText("({success:false})");
            return sfView::NONE;
       }
      
      $juez=new Juez();                      
      $juez->setNombrejuez($request->getPostParameter('nombresJuez'));
      $juez->setApellidojuez($request->getPostParameter('apellidosJuez'));    
      $juez->setNumidentificacion($request->getPostParameter('identifJuez'));
      
      //leer archivo de imagen y sacar el contenido
      $fp= fopen($archivo['tmp_name'], 'r');
      $contenido = fread($fp, filesize($archivo['tmp_name']));
      $contenido = addslashes($contenido);
      fclose($fp);
      
      $juez->setFoto($contenido);
      $juez->setTelefonojuez($request->getPostParameter('telJuez'));     
      $juez->setRh($request->getPostParameter('rhJuez'));
      $juez->setFechanacmtojuez(date($request->getPostParameter('fechaNcmtoJuez')));
      $juez->setTipojuez($request->getPostParameter('tipoJuez'));     
      $juez->setCorreojuez($request->getPostParameter('e-mailJuez'));
      $juez->setEstadojuez($request->getPostParameter('estadoJuez'));
      $juez->setCiudadIdciudad($request->getPostParameter('ciudadJuez'));
      
      $juez->save();
      
      if($request->getPostParameter('tipoJuez')=="Juez Silla" || $request->getPostParameter('tipoJuez')=="Anotador")
      {          
          $usuarioJuez=new RolUsuario_Juez();
          
          $usuarioJuez->setNicknamejuez($request->getPostParameter('nombUsuarioJuez'));
          $usuarioJuez->setContrasenia(md5($request->getPostParameter('password1')));
          $rolUsuario=Doctrine::getTable('rolusuario')->findOneByNombreRolUsuario('j');      
          $usuarioJuez->setRolUsuario($rolUsuario);
          $usuarioJuez->setJuez($juez);
          $usuarioJuez->save();                    
      }      
 
       sfConfig::set('sf_web_debug', false);
        $this->renderText("({success:true})");
        return sfView::NONE;
      
  }
  
  
  public function executeEditarDatos(sfWebRequest $request)
  {            
      $idJuez=$request->getPostParameter('idJuez');     
      
      $juez=Doctrine::getTable('juez')->find($idJuez);   
  
      $juez->setNombrejuez($request->getPostParameter('nombresJuez'));
      $juez->setApellidojuez($request->getPostParameter('apellidosJuez'));    
      $juez->setNumidentificacion($request->getPostParameter('identifJuez'));
     // $usuario->setDireccionusuario($request->getPostParameter('identifUsuario'));
      //falta el set para fecha de nacimiento del usuario
      $juez->setCorreojuez($request->getPostParameter('e-mailJuez'));
     // $juez->setLogginusuario($request->getPostParameter('logginUsuario'));
      $juez->setEstadojuez($request->getPostParameter('estadoJuez'));
      $juez->setTelefonojuez($request->getPostParameter('telJuez'));
      $juez->setTipojuez($request->getPostParameter('tipoJuez'));
      //$juez->setEstaturajugador($request->getPostParameter('estaturaJuez'));
      $juez->setRh($request->getPostParameter('rhJuez'));
      $juez->setFechanacmtojuez(date($request->getPostParameter('fechaNcmtoJuez')));
            
      //$ciudad=Doctrine::getTable('ciudad')->findOneByIdciudad($request->getPostParameter('ciudadJuez'));      
      $juez->setCiudadIdciudad($request->getPostParameter('ciudadJuez'));     
      
      $juez->save();  
      
       
        sfConfig::set('sf_web_debug', false);
        $this->renderText("({success:true})");
        return sfView::NONE;
      return $this->renderText("{success: true}");
  }
  
  public function executeCambiarContrasenia(sfWebRequest $request)
  {          
      $idJuez=$request->getPostParameter('idJuezPass');      
      $contrasenia=$request->getPostParameter('password1');      
      $usuarioJuez=Doctrine::getTable('rolUsuario_Juez')->findOneByJuezIdjuez($idJuez);
      if($request->getPostParameter('password1')!="")$usuarioJuez->setContrasenia(md5($request->getPostParameter('password1')));
      if($request->getPostParameter('nombUsuJuezPass')!="")$usuarioJuez->setNicknamejuez($request->getPostParameter('nombUsuJuezPass'));
      $usuarioJuez->save();
      
      return $this->renderText('{success: true}');
  }
  
  
  public function executeObtenerFoto(sfWebRequest $request)
  {      
      
      //$this->getResponse()->setHttpHeader('Content-type','image/png');
      
      $idJugador=$request->getGetParameter('idJug');
      
      $jugador=Doctrine::getTable('jugador')->findOneByIdjugador($idJugador);
      
      $foto=$jugador->getFotojugador();
      
     /* $this->getResponse()->setContent($foto->getInhalt());
      return sfView::NONE;*/
      $foto= stream_get_contents($foto->getInhalt());


      
      return $this->renderText($foto);
  }
  
  
  public function executeGetTiposJuez(sfWebRequest $request)
  {       
             $arraytotal=array('total' => 3);
             $array=array();
             $array[]=array('nomTipoJuez'=> "Anotador");                
             $array[]=array('nomTipoJuez'=> "Juez Silla");                 
             $array[]=array('nomTipoJuez'=> "Asistente");
              
             $arraytotal["items"]=$array;             
             return $this->renderText(json_encode($arraytotal));         
         
         //retornar error
  }

  
    public function executeListar(sfWebRequest $request)
  {         
      
         $inicio=(int)$request->getGetParameter('start');
         $fin=(int)$request->getGetParameter('limit');
         
         $jueces=Doctrine::getTable('juez')->createQuery()->execute();         
         $numJueces=count($jueces); 
         
         $jueces=Doctrine::getTable('juez')->createQuery()->limit($fin)->offset($inicio)->execute();
         
         if($numJueces!=0)
         {
              
             $arraytotal=array('total' => $numJueces);
             $array=array();
             
             foreach($jueces as $juez)
             {                                
                 
                 $response=array('idJuez'=> $juez->getIdjuez(),
                                'identifJuez'=> $juez->getNumidentificacion(),  
                                'nombresJuez'=> $juez->getNombrejuez(),
                                'apellidosJuez' => $juez->getApellidojuez(),
                            'tipoJuez' => $juez->getTipojuez(),                                                 
                            'fechaNcmtoJuez'=> $juez->getFechanacmtojuez(),
                            'telJuez' => $juez->getTelefonojuez(),
                            'e-mailJuez' => $juez->getCorreojuez(),                            
                            'rhJuez'=> $juez->getRh(),//"crear el campo en bd",
                            'ciudadJuez' => $juez->getCiudad()->getNombreciudad(),
                           'paisJuez' => $juez->getCiudad()->getPaisIdpais(), 
                           'estadoJuez' => $juez->getEstadojuez(), 
                     );
                 
                 $array[]=$response;
             }
             
             $arraytotal["items"]=$array;             
             return $this->renderText(json_encode($arraytotal));
         }         
  }
  
  public function validarImagenFoto($archivo)
  {
          if(in_array($archivo['type'],array( 'image/jpeg', 'image/png', 'image/gif', 'image/x-png')))
          {                 
              if ($archivo['size'] <= 500000)
              {                 
                      return true;                                    
              } else return false;
          } else return false;
  }
  
}
